import request from '@/utils/request'

// 查询文档列表
export function listDoc(query) {
  return request({
    url: '/system/doc/list',
    method: 'get',
    params: query
  })
}

// 查询文档详细
export function getDoc(docId) {
  return request({
    url: '/system/doc/' + docId,
    method: 'get'
  })
}

// 新增文档
export function addDoc(data) {
  return request({
    url: '/system/doc',
    method: 'post',
    data: data
  })
}

// 修改文档
export function updateDoc(data) {
  return request({
    url: '/system/doc',
    method: 'put',
    data: data
  })
}

// 删除文档
export function delDoc(docId) {
  return request({
    url: '/system/doc/' + docId,
    method: 'delete'
  })
}

// 批量上传PDF文档
export function batchUploadDocs(formData) {
  return request({
    url: '/system/doc/batchUpload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data',
      'repeatSubmit': false // 禁用防重复提交
    },
    timeout: 300000 // 5分钟超时
  })
}

// 分块批量上传PDF文档
export function chunkBatchUploadDocs(formData) {
  return request({
    url: '/system/doc/chunkBatchUpload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data',
      'repeatSubmit': false, // 禁用防重复提交
      'Cache-Control': 'no-cache', // 禁用缓存
      'Connection': 'keep-alive' // 保持连接
    },
    timeout: 600000 // 10分钟超时，适应网络传输时间
  })
}

// 查询部门下拉树结构
export function deptTypeSelect() {
  return request({
    url: '/system/doc/typeTree',
    method: 'get'
  })
}
